/*
 * @Date: 2024-08-21 15:52:35
 * @Author: LiSong
 * @LastEditors: LiSong
 * @LastEditTime: 2024-12-18 10:30:44
 * @Description: 表格数据格式化配置
 */
import { XEUtils, RKUtils, IsUtils } from '@/utils'
import { VXETable } from 'vxe-table'
import { EnumsDataPools } from '@/enums'

/**
 * 渲染表格数据内容为空时显示
 */
VXETable.formats.add('emptyText', {
  cellFormatMethod ({ cellValue }, emptyText='') {
    return IsUtils.isNotEmpty(cellValue) ? cellValue : emptyText
  }
})
// 格式化金额显示：万 （小数点后补零）
VXETable.formats.add('formatThousand', {
  cellFormatMethod ({ cellValue }, digits = 2, fillZero = true) {
    return IsUtils.isNotEmpty(cellValue) ? RKUtils.formatAmount(cellValue, digits, fillZero) : ''
  }
})
// 格式化金额显示：元 （小数点后补零）
VXETable.formats.add('formatAmountBit', {
  cellFormatMethod ({ cellValue }, digits = 2, fillZero = true) {
    return IsUtils.isNotEmpty(cellValue) ? RKUtils.formatAmount(cellValue, digits, fillZero) : ''
  }
})
// 本地枚举数据表格字段通用回显
VXETable.formats.add('enumsFormats', {
  cellFormatMethod ({ cellValue }, enumName) {
    let echoValue = cellValue
    if (enumName && IsUtils.isNotEmpty(cellValue)) {
      let enumOption = EnumsDataPools[enumName].options[cellValue]
      echoValue = enumOption ? enumOption.echo || enumOption.label || '' : ''
    }
    return echoValue
  }
})
